package com.olap.starter.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author WBG
 * @since 2022-08-31
 */
@Data
public class TableConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 父级ID
     */
    private Long parentId;

    /**
     * 主表
     */
    private String mainTable;

    /**
     * 是否转换驼峰
     */
    private String hump;

    /**
     * 是否自定义SQL
     */
    private String definitionSql;

    /**
     * 执行SQL
     */
    private String executeSql;

    /**
     * 执行条件
     */
    private String executeWhere;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 是否分页
     */
    private String paging;

    /**
     * 选择框
     */
    private String selectBox;

    /**
     * 底部提示
     */
    private String tips;

    /**
     * 是否树
     */
    private String tree;

    /**
     * 树形上级ID
     */
    private String treeParentId;

    /**
     * 树展开列
     */
    private String openColumn;
    /**
     * uuid
     */
    private Long uuid;

    /**
     * 配置信息
     */
    private String optionJson;
    /**
     * 模板t*
     */
    private String theme;

    /**
     * 是否序号
     */
    private String seq;

    /**
     * 加载完成查询
     */
    private String init;

    /**
     * 树ID
     */
    private String treeId;

    /**
     * 默认参数
     */
    private String parameterDefault;

    @TableLogic
    /**
     * 标识符
     */
    private Integer deleted;

    /**
     * 数据库名称
     */
    @TableField(exist = false)
    private String dbName;

    /**
     * 请求类型
     */
    private String requestType;

    /**
     * API
     */
    private String api;

    /**
     * 排序
     */
    private String orderBy;

    private String userFiled;//用户字段
    private String departmentFiled;//部门字段
    private String tableAliasFiled;//表别名字段
    private String aes;//加密传输
}
